package com.gd.iot.energy.dao.datamanage;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.gd.iot.energy.po.datamanage.ReportNbWaterDataPO;
import com.gd.iot.energy.pojo.common.vo.ChartVO;
import com.gd.iot.energy.pojo.datamanage.dto.MeterHistoryDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ReportNbWaterDataPOMapper extends BaseMapper<ReportNbWaterDataPO> {
    IPage<MeterHistoryDTO> selectHistoryPage(IPage<MeterHistoryDTO> page,
                                             @Param(Constants.WRAPPER) QueryWrapper<MeterHistoryDTO> queryWrapper);

    List<ChartVO> selectHistoryChart(@Param(Constants.WRAPPER) QueryWrapper<MeterHistoryDTO> queryWrapper);

    IPage<MeterHistoryDTO> selectRealtimePage(IPage<MeterHistoryDTO> page,
                                              @Param(Constants.WRAPPER) QueryWrapper<MeterHistoryDTO> queryWrapper,
                                              @Param("ewOrder") QueryWrapper<MeterHistoryDTO> queryWrapper2);

    IPage<MeterHistoryDTO> selectFrozenPage(IPage<MeterHistoryDTO> page,
                                            @Param(Constants.WRAPPER) QueryWrapper<MeterHistoryDTO> wrapper,
                                            @Param("ewOrder") QueryWrapper<MeterHistoryDTO> queryWrapper);

    List<ChartVO> selectFrozenChart(@Param(Constants.WRAPPER) QueryWrapper<MeterHistoryDTO> queryWrapper);
}